package br.com.informaticon.usaHibernateUtil;

/**
 *Prof Neri Aldoir Neitzke - WWW.INFORMATICON.COM.BR   videoaulas@informaticon.com.br
 * @author nerineitzke
 */
//update alunos set alu_nome=?, alu_cidade=?, alu_fone=?, alu_curso=? where alu_codigo=?

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.swing.*;
import org.hibernate.*;
import br.com.informaticon.modelo.Aluno;
public class ListarAlunos 
{
     public static void main(String [] args)   
     {
         try
         {                  
             Session sessao =   HibernateUtil.getSessao();
             
             Aluno obj_aluno = (Aluno) sessao.get(Aluno.class,13);
             String dadosn = obj_aluno.getAlu_nome();
             Set<String> telefones_aluno = obj_aluno.getTelefones_aluno();
             int quantidade_fones_do_aluno = telefones_aluno.size();
             Iterator it_fones_aluno = telefones_aluno.iterator();
             String fones_deste_aluno = "";
             for(int i=0;i<quantidade_fones_do_aluno;i++)
                 fones_deste_aluno = fones_deste_aluno+"\n Fone "+(i+1)+".: "+it_fones_aluno.next();

             JOptionPane.showMessageDialog(null,"Nova Forma de pegar dados:\n\n"
                     +"Nome do Aluno.: "+dadosn+"\n\n"+
                     "Fones deste aluno:"+quantidade_fones_do_aluno
                     +"\n"+fones_deste_aluno);
                        
             
             List<Aluno> lista_aluno = new ArrayList();
             //usando HQL = Hibernate Query Language
             lista_aluno = sessao.createQuery("from Aluno a where a.alu_nome like 'N%' order by a.alu_codigo").list();
             int tamanho_lista = lista_aluno.size();
             String dados="";
             for(int i=0; i < tamanho_lista;i++)
             {
                 Aluno aluno = lista_aluno.get(i);
                 System.out.println(aluno.getAlu_codigo()+" - "+aluno.getAlu_nome()+
                         " - "+aluno.getAlu_curso()+" - "+aluno.getAlu_fone()+
                         " - "+aluno.getAlu_cidade());
                 dados = dados+ "\n "+ aluno.getAlu_codigo()+" - "+aluno.getAlu_nome()+
                         " - "+aluno.getAlu_curso()+" - "+aluno.getAlu_fone()+
                         " - "+aluno.getAlu_cidade();
                 
             }
             JOptionPane.showMessageDialog(null,dados);
             sessao.close();             
         }
         catch(Exception erro)
         {
             JOptionPane.showMessageDialog(null,"Erro na Lista : "+erro);
         }        
     }    
}

